//package com.pkx.guide.task;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.pkx.guide.common.constant.Constants;
//import com.pkx.guide.info.entity.TInfoGuidePublish;
//import com.pkx.guide.info.entity.TInfoNetworkConfig;
//import com.pkx.guide.info.service.TInfoGuidePublishService;
//import com.pkx.guide.qianfeng.service.QianFengPlayLedService;
//import lombok.extern.slf4j.Slf4j;
//
//import java.util.Timer;
//import java.util.TimerTask;
//
///**
// * 诱导屏自动发布-乾丰
// *
// * @author sunsy
// * @since 2022-03-10
// */
//@Slf4j
//public class QianFengAutoPublishTimeTask extends TimerTask {
//
//    /**
//     * 发布接口
//     */
//    private TInfoGuidePublishService guidePublishService;
//
//    /**
//     * 设备控制接口
//     */
//    private QianFengPlayLedService qianFengPlayLedService;
//
//    /**
//     * 发布id
//     */
//    private Integer guidePublishId;
//
//    /**
//     * 网络配置信息
//     */
//    private TInfoNetworkConfig networkConfig;
//
//    /**
//     * 当前定时器
//     */
//    private Timer timer;
//
//    public QianFengAutoPublishTimeTask(TInfoGuidePublishService guidePublishService, QianFengPlayLedService qianFengPlayLedService, Integer guidePublishId, TInfoNetworkConfig networkConfig, Timer timer) {
//        this.guidePublishService = guidePublishService;
//        this.qianFengPlayLedService = qianFengPlayLedService;
//        this.guidePublishId = guidePublishId;
//        this.networkConfig = networkConfig;
//        this.timer = timer;
//    }
//
//    @Override
//    public void run() {
//        log.info("开始自动发布");
//        if (this.guidePublishId == null || this.guidePublishService == null || this.networkConfig == null){
//            this.timer.cancel();
//            Constants.guidePublishTimerMap.remove(guidePublishId);
//            return;
//        }
//        // 获取当前最新发布信息
//        TInfoGuidePublish currentGuidePublish = this.guidePublishService.selectById(this.guidePublishId);
//        // 当前发布任务已删除，或者更改为手动模式
//        if (currentGuidePublish == null || currentGuidePublish.getDelFlg() == 1 || currentGuidePublish.getModeType() == 1){
//            this.timer.cancel();
//            Constants.guidePublishTimerMap.remove(guidePublishId);
//            return;
//        }
//        log.info("自动发布执行：{}", guidePublishId);
//        // 发布最新消息
//        try {
//            JSONObject param = new JSONObject();
//            param.put("user", networkConfig.getUsername());
//            param.put("pwd", networkConfig.getPassword());
//            param.put("cmd", 1);
//            param.put("data", JSONArray.parseArray(currentGuidePublish.getPublishDetail()));
//            qianFengPlayLedService.controlLed(this.networkConfig.getIp(), this.networkConfig.getPort(), param.toJSONString());
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
// }
